@邪恶贝壳
3年前 提问
1个回答

如何渗透测试wordpress网站

Anna艳娜
3年前

通过信息收集,发现目标站点的用户名,利用username去尝试暴力破解,登录目标站点的后台。

第1步 信息收集

首先,准备工作,依次执行命令

# cd /home/ichunqiu/
# wget  http://file.ichunqiu.com/453rgtfk/tools.zip
# unzip  tools.zip

将实验文件下载并解压至/home/ichunqiu/目录下

然后将data.zip(wpscan的离线更新包)移动至/usr/share/wpscan/目录下,并解压(选择A覆盖原本的文件)

# mv data.zip /usr/share/wpscan/
# unzip data.zip

针对WordPress站点,我们可以收集如下信息:

识别指纹

WordPress默认安装情况下,根目录会留有开发人员编写的readme.html文件,通过访问该文件,我们可以大概的知道站点的WordPress版本号。

打开浏览器,访问http://172.16.12.2:8080/readme.html

可知版本号为4.3

如果管理删除了该文件,我们该如何判断呢?

WPscan是一款针对WordPress的漏洞扫描工具,其指纹识别功能不仅能够获取WordPress的版本号,还能识别其插件的版本号

WPscan维护着一份漏洞信息库,我们首先需要更新漏洞数据信息,我们采用离线的方式更新漏洞信息库。

首先将下载最新的数据包(实验文件内的data.zip),将其复制到/usr/share/wpscan/目录下,使用unzip data.zip将其解压(请覆盖原本的数据)

使用如下命令开始扫描:

wpscan --url  http://172.16.12.2:8080/

wpscan运行的时候会提示更新,默认N放弃在线更新

我们可以获取以下信息

  • WordPress 版本号:4.3.1
  • 插件版本号
  • CVE信息

此处我们获取了目标服务器的版本信息、WordPress版本号、以及对应CVE漏洞信息等。

wp-admin登录尝试

/wp-admin/是WordPress的默认管理员目录,打开http://172.16.12.2:8080/wp-admin,页面自动跳转至登录页面。 我们随机输入一个username 和 password 尝试登录一下。

可以看见出现报错:无效的用户名 (Invalid username),所以我们需要先获取用户名。

用户枚举

?author=1 遍历用户名 默认安装的WordPress 站点是能够遍历用户名的,使用浏览器访问http://172.16.12.2:8080/?author=1

页面自动跳转至author为1的用户页面,获取了一个用户名。

我们再输入已存在的用户名zhangsan,密码任意

会提示密码无效

通过两次不同的返回信息,我们可以看出,目标后台确实存在一个zhangsan的用户。

当?author=1遍历用户名不好使得时候可以采用这种方法

若管理员修改了默认目录路径,则需要通过目录爆破等方式查找后台地址

我们已经有了用户名和后台路径,自然会想到后台暴力破解。

第2步 暴力破解

WordPress爆破事实上有两种,第一种是使用工具或脚本对登录页面进行登录尝试,第二种是利用xmlrpc接口,POST登录数据信息,来判断账户密码是否可用

WPscan爆破

WPscan包含WordPress黑盒测试所需的各种功能,上面我们已经使用了WPscan的扫描功能了。接下来,来使用其爆破功能。

使用wpscan -h 获取帮助

我们输入如下命令开始爆破:

wpscan --url http://172.16.12.2:8080/ --wordlist  /home/ichunqiu/wordbrutepress/password.lst --username zhangsan

成功爆破密码qwer1234

爆破是否成功很大取决于字典是否强大,从另一方面来说,我们设置密码时要足够强

XMLRPC爆破

xmlrpc 是 WordPress 中进行远程调用的接口,低版本中曾曝出可利用 xmlrpc 调用接口中的 system.multicall提高爆破效率,通过 xmlrpc可以将多个密码组合在一次请求中提交,可以减少请求次数,从而规避日志的监测。

该接口只允许POST提交请求,我们大概看看包内容

请求头中包含了登录信息

由上面的WPscan扫描结果可知目标站点存在该接口,而3.4.1 这个版本在影响范文之内的 我们使用工具开始爆破

命令行切换到下载的工具目录,

执行命令如下:

python WordBrutepress.py -X -t http://172.16.12.2:8080/ -u zhangsan -w  /home/ichunqiu/wordbrutepress/password.lst

执行结果:

使用获取的密码成功登陆后台